This invention relates to mobile telecommunication and particularly to mobile data systems employing TCP protocols.
Mobile Internet devices such as smartphones and netbooks appear to be a major stage in the evolution of the Internet. Unlike conventional desktop computers these mobile devices are often connected to the Internet via wireless links such as WiFi and 3G [1] data networks. In particular, the growth of 3G user population has been increasing rapidly in recent years and it is expected that the number of Internet users connected wirelessly will soon exceed their wired counterparts.
Despite the rapid developments in mobile Internet, much of the Internet infrastructure, most notably the transport protocols such as TCP and UDP, is still rooted in wired networks invented decades ago. While the Internet transport protocols are compatible with and will work in mobile data networks, their performance in practice is often sub-optimal. According to our own experiments conducted in production mobile data networks, we found that mobile data networks such as 3G/HSPA and LTE [2], although is IP-based, exhibit substantial differences in their characteristics which prevent existing Internet transport protocols from performing optimally.
For example, in one experiment a 15 MB file was downloaded from a wired-network-connected Linux web server over a 3G/HSPA modem to a notebook computer running a web browser. The 3G (third generation mobile) network in the experiment supports high speed packet access (HSPA) which has a theoretical maximum downlink bandwidth of 7.2 Mbps. Surprisingly the achievable average download throughput, indicated by the lower curve in FIG. 1, is only ˜1.5 Mbps, which is far lower than the theoretical maximum even accounting for protocol overheads. In the same figure we also plot the goodput of a UDP data flow using the same network and 3G/HSPA modem setup. In this case UDP can achieve an average goodput of ˜5.5 Mbps, which is much closer to the theoretical limit. These results clearly show that the existing TCP implementation failed to fully utilize the bandwidth available in the mobile data network.
As hereinafter explained, this invention addresses this performance problem of running TCP over mobile data networks. Measurements in production mobile data networks including 3G/HSPA and LTE found that modern mobile data networks differ from wired networks in three important ways: (a) larger roundtrip time (RTT), generically reception timings, compared to wired networks; (b) non-congestion-related packet loss; and (c) rapid bandwidth fluctuations. More importantly, these differences render many of the assumptions in existing TCP implementations no longer valid, and as a result, degrade their performance in mobile data networks significantly.
One approach to tackle these challenges is to modify or redesign TCP for use in mobile data networks. While this approach is sound in principle it presents significant difficulties in practical deployment. Specifically, transport protocols are often implemented as part of the operating system (OS). Thus to deploy a new TCP variant it will be necessary to replace or to upgrade the corresponding OS components. This is a significant hurdle as there are many different OS implementations in use in Internet servers, ranging from open source implementations (e.g., Linux and its many variants) to proprietary implementations (e.g., various versions of Microsoft Windows). Moreover, given the large number of servers already deployed across the Internet, such protocol upgrade will have to be carried out progressively and thus would take a long time to materialize.
A more subtle yet critical problem is that many of these servers will be serving users from both wired networks and mobile data networks. Thus any protocol updates will either need to work well for both wired and mobile data network users, or be able to distinguish the two types of users so that the proper protocol optimizations can be applied. Neither of these two problems is trivial and further research is required before the feasibility and performance of this approach can be ascertained.
At the other end of the connection is the user's mobile device. Unlike desktop computers, there are significantly more varieties of OS for mobile devices, such as Palm, Symbian, iPhone OS, BlackBerry OS, Android, Windows Mobiles, etc. Therefore deploying protocol upgrades will not be a straightforward exercise. Even if the protocol implementation in the client device can be modified, TCP's performance is still constrained by its congestion control algorithm, which is implemented at the sender-side (i.e., server for most applications).
Upgrading protocol implementations is difficult and costly. Moreover, the need to maintain compatibility with existing transport protocols at both ends of the connection prevents implementation of various solutions, e.g., any solution requiring the addition of new TCP header fields or new protocol handshakes will not be applicable.